This disclosure relates to the fields of computing and communications. More particularly, a system and methods are provided for exchanging instant messages via HTTP (Hypertext Transfer Protocol).
Some network entities, operators, and service providers restrict use of particular protocols on their networks or the establishment of certain types of connections through their equipment. In particular, some applications may be permitted, such as electronic mail or web-browsing, while others are prohibited. For example, deep packet inspection may be performed by an Internet Service Provider (ISP), a firewall, a router, or some other entity, and individual packets and/or communication connections may be dropped or rejected if the inspection uncovers use of a prohibited application or protocol, or use of an application or protocol other than those specifically permitted. Thus, if a particular user's service plan allows only HTTP connections, attempts to make other connections will not be allowed.
As a result, a given device may be able to open a communication connection for some purposes, such as to send or receive an electronic mail message via an SMTP (Simple Mail Transfer Protocol) e-mail program, or to browse the world-wide web using HTTP, but not for other purposes. For example, many messaging applications (e.g., an application for exchanging chat or instant messages) use custom application layer protocols that require standard TCP connections. Attempts to open a standard TCP connection with the customer protocol may be blocked by the service provider, or the service provider may issue TCP reset messages to prevent such connections from being formed.
With the ever-expanding usage of mobile communication and computing devices, restrictions like this can be frustrating to users, especially if they can operate a preferred application from one device (e.g., a home computer) but not another (e.g., a smart phone).